import request from './index'

/**
 * 获取购物车列表
 * @returns {Promise} 返回购物车列表数据
 */
export function getCartList() {
  return request({
    url: '/cart/list',
    method: 'post',
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

/**
 * 添加商品到购物车
 * @param {Object} data 商品数据
 * @param {number} data.productId 商品ID
 * @param {number} data.quantity 商品数量
 * @returns {Promise} 返回添加结果
 */
export function addToCart(data) {
  return request({
    url: '/cart/add',
    method: 'post',
    data: `productId=${data.productId}&quantity=${data.quantity || 1}`,
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

/**
 * 更新购物车商品数量
 * @param {Object} data 更新数据
 * @param {number} data.cartId 购物车项ID
 * @param {number} data.quantity 新的商品数量
 * @returns {Promise} 返回更新结果
 */
export function updateCartQuantity(data) {
  return request({
    url: '/cart/update',
    method: 'post',
    data:`productId=${data.productId}`,
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
}

/**
 * 删除购物车商品
 * @param {Object} data 删除数据
 * @param {number} data.cartId 购物车项ID
 * @returns {Promise} 返回删除结果
 */
export function removeFromCart(productIds) {
  // productIds 必须是数组
  return request({
    url: '/cart/batchDelete',
    method: 'post',
    data:  productIds ,
    headers: {
      'Content-Type': 'application/json'
    }
  })
}

/**
 * 清空购物车
 * @returns {Promise} 返回清空结果
 */
export function clearCart() {
  return request({
    url: '/cart/clear',
    method: 'post',
    headers: {
      'Content-Type': 'application/json'
    }
  })
}

/**
 * 减少购物车商品数量
 * @param {number} productId 商品ID
 * @returns {Promise} 返回减少结果
 */
export function subtractCartQuantity(productId) {
  return request({
    url: '/cart/subtract',
    method: 'post',
    data: `productId=${productId}`,
    headers: {
      'Content-Type': 'application/x-www-form-urlencoded'
    }
  })
} 